The present invention relates generally to process control networks and, more particularly, to initiating soft phases in processes, such as in batch processes.
Process control networks, such as those used in chemical, petroleum or other processes, generally include one or more process controllers communicatively coupled to one or more field devices which may be, for example, valve positioners, switches, sensors (such as temperature, pressure and flow rate sensors), etc. These field devices may perform physical control functions within the process (such as opening or closing a valve), may take measurements within the process for use in controlling the operation of the process or may perform any other desired function within the process. Process controllers have historically been connected to field devices via one or more analog signal lines or buses which may carry, for example, 4-20 ma (milliamp) signals to and from the field devices. More recently, however, the process control industry has developed a number of standard, open, digital or combined digital and analog communication protocols such as the FOUNDATION(trademark) FIELDBUS (hereinafter xe2x80x9cFieldbusxe2x80x9d), HART(copyright), PROFIBUS(copyright), WORLDFIP(copyright), Device-Net(copyright) and CAN protocols which can be used to implement communications between a controller and field devices. Generally speaking, the process controller receives signals indicative of measurements made by one or more field devices and/or other information pertaining to the field devices, uses this information to implement a typically complex control routine and generates control signals that are sent via the signal lines or buses to the field devices to thereby control the operation of the process.
Certain types of process control networks, such as those used in batch processes, typically include multiple sets of replicated equipment designed to have the same or similar equipment which performs essentially the same function within the processes. Thus, for example, a cookie manufacturing plant may have multiple sets of mixing equipment, multiple sets of baking equipment, and multiple sets of packaging equipment, with some or all of the individual mixers being capable of operating in parallel and of being connected to operate in series with some or all of the baking equipment and the packaging equipment. Typically, in a batch process, a batch executive is stored in a workstation communicatively coupled to one or more process controllers and the batch executive initiates a number of different steps or stages in sequence, finishing the first stage before beginning the second stage to perform a batch run. Thus, in the cookie manufacturing plant described above, the batch executive runs a first sub-process or step to control the mixing equipment, then runs a second sub-process to run the baking equipment on the product made by the mixing equipment and then runs a third sub-process that controls the packaging equipment to package the product produced by the baking equipment. The different steps in these sub-processes are typically referred to as phases.
Generally speaking, a master program, called a batch executive is located at a central or other convenient node within the process control environment having numerous user workstations and controllers located at different nodes. The batch executive schedules and initiates the different phases making up a certain batch process control scheme. In particular, the batch executive is created to call the different phases of a batch process in sequence, assuring that the first phase is completed before initiating the second phase and so on. The actual phases initiated by the batch executive are stored on and executed by one or more controllers (which are at different nodes within the process control environment) and the controller that runs a particular phase reports completion of the phase to the batch executive after the phase has run. Likewise, if the execution of the phase fails or if some other problem in the phase arises, the controller informs the batch executive, which may inform the operator of the problem or may provide the controller with instructions to alleviate or ignore the problem. In some instances, the phases within the controller may also ask the batch executive for information needed to run the phase and/or may provide the batch executive with data pertinent to the operation of the phase.
Generally, in many batch processes as well as other processes, the process control system needs to interact with other systems that are external to the process control system. Examples of such external systems include, but are not limited to, a raw materials database that stores information about the quantity of raw materials on hand, batches that those materials have been allocated to, etc., a laboratory information management system that provides lab analysis information (such as composition, concentration, purity, etc.) based on a sample that has been drawn from the batch, information input systems such as radio frequency barcode readers that might be used to scan process equipment identification tags, product storage container tags, raw material identification codes, etc., and manual (i.e., operator) initiated actions. In general, these external systems are running on workstations rather than on controllers.
To enable interaction with these external systems or actions, the batch executive runs or calls what are commonly referred to as soft phases. Generally speaking, a soft phase is a user supplied, PC based routine (written in, for example, Visual Basic or Visual C++) that is executed on a workstation or other user interface instead of a controller to interact with external systems or to enable manually initiated actions, such as those mentioned above. For example, the main function of a soft phase may be to communicate with a user, operator, maintenance person, etc. in a manner that is necessary for operation of a batch process. Soft phases may be used to interact with an operator or other plant personnel to assure that certain activities, such as manual activities necessary for the batch process, take place. Here, the soft phase may instruct an operator to take a particular step and ask the operator to inform the soft phase when the action is complete. The soft phase may then tell the operator the next step to perform and wait for acknowledgment that the instruction has been performed. These common types of soft phases are used to cause the operator to load or configure certain equipment used in other phases of the batch process, to take and test a sample to assure that the batch process is performing correctly, etc. Of course, soft phases may be used for other purposes.
In the past, batch executive routines were limited to calling or executing soft phases that were stored in the same workstation or computer (i.e., node) as the batch executive. Here, the batch executive instructed a server within the workstation executing the batch executive to call and implement a soft phase on that same workstation. The soft phase server would find and launch the soft phase and report back to the batch executive when the soft phase had completed execution. The soft phase could also communicate with the batch executive through the soft phase server to get information from the batch executive, if necessary.
Typically, the batch executive was run on a master workstation which was in a central or secure location within a plant. As a result, when implementing a soft phase, which typically requires some sort of user action and input during operation of the phase, the user had to be at the master workstation, which typically meant that the user was away from the plant equipment that needed to be manipulated during the soft phase. This was inconvenient for the user and caused the soft phase to execute very slowly because the operator or user had to go out into the plant after each step of the soft phase and return to acknowledge completion of that step. In other words, because the soft phase had to be executed on the same workstation as the batch executive, the soft phase was generally executed on a workstation that was inconvenient for the user interacting with the soft phase. Also, soft phases which run on the same workstation as the batch executive contend with the batch executive for processing resources, which may slow the batch executive down and may lead to loading problems on the CPU. Still further, some soft phases need to use other resources such as a database to perform the desired functions. However, this means that a lot of network traffic may be generated between the node on which the batch executive resides and a database server node, which is undesirable.
A process control system includes soft phases which can be implemented on nodes or computers that are remote or separated from the node on which a batch executive calling those soft phases is executing. This system enables the operator to interact with a soft phase at a workstation or node that is most convenient to the operation of the soft phase, which makes the operator""s task easier and may result in faster execution of the soft phase. This system also reduces CPU or network loading on the batch executive node and may reduce network traffic to and from the batch executive node by allowing soft phases, which may be resource or communication intensive, to be located on other nodes.
According to one aspect of the present invention, a process control system includes a first computing device located at a first node within the process control system, a second computing device located at a second node within the process control system and a communication link between the first and second nodes providing communications between the first node and the second node. An executive routine which may be, for example, a batch executive routine, is stored on and is adapted to be executed by the first computing device, a soft phase is stored on and is adapted to be executed by the second computing device and remote communication software is stored on and adapted to be executed by the first and second computing devices to enable the executive routine to call the soft phase for execution via the communication link.
The remote communication software may include a server stored in and adapted to be executed on the first computing device and a soft phase broker stored in and adapted to be executed on the second computing device, wherein the server and the broker include communication software or communication layers adapted to communicate via the communication link. If desired, the broker may include a program launcher for locating and executing the soft phase on the second computing device and may be adapted to inform the server when the soft phase has completed execution on the second computing device. The broker may also coordinate communications between the soft phase and the batch executive. Also, the executive routine may inform the server of the location of the soft phase when calling the soft phase or the location of the soft phase may be ascertained from a configuration database associated with the process control system.